package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;

import java.util.List;

/**
 * @description:
 * @author: Kris Wu
 * @time: 2020/11/19 22:20
 */
public interface PermissionService {
    /**
     * 分页查询
     * @param currentPage
     * @param pageSize
     * @param queryString
     * @return
     */
    PageResult findPage(Integer currentPage, Integer pageSize, String queryString);

    /**
     * 新增权限
     * @param permission
     */
    void add(Permission permission);
    /**
     * 根据id查询权限数据
     * @param id
     * @return
     */
    Permission findById(Integer id);

    /**
     * 根据id更新权限数据
     * @param permission
     */
    void edit(Permission permission);
    /**
     *根据id删除权限数据
     * @param permissionId
     * @return
     */
    void deleteById(Integer permissionId);
    /**
     * 查询所有权限列表
     * @return
     */
    List<Permission> findAll();
    /**
     * 校验权限名称是否重复
     * @return
     */
    Permission findPermissionByName(String name);
    /**
     * 校验权限关键字是否重复
     * @return
     */
    Permission findPermissionByKeyword(String keyword);
    /**
     * 查询与角色相关联数据
     * @return
     */
    List<Role> queryRoleById(Integer id);
}
